package cn.aku.d3_list;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.ListIterator;

/*
 本类测试ArrayList类
 */
public class Test1_ArrayList {
    public static void main(String[] args) {
        ArrayList<Integer> l=new ArrayList<>();
        l.add(100);
        l.add(200);
        l.add(300);
        l.add(400);
        l.add(500);
        //l.clear();清空
        System.out.println(l.contains(300));//判断是否包含300-true
        System.out.println(l.get(2));//获取指定位置元素
        System.out.println(l.indexOf(200));//1,获取元素首次出现的下标
        System.out.println(l.lastIndexOf(300));//2,获取元素最后一次出现的下标
        System.out.println(l.isEmpty());//判断是否为空
        System.out.println(l.remove(0));//100，移除
        System.out.println(l.remove(Integer.valueOf(400)));//移除集合中指定元素
        System.out.println(l);
        //将集合元素存入数组
        System.out.println(Arrays.toString(l.toArray()));
        System.out.println("==========================");
        //四种迭代方式
        //方式一
        for (int i = 0; i <l.size() ; i++) {
            System.out.println(l.get(i));
        }
        System.out.println("==========================");
        //方式二
        for (Integer i:l) {
            System.out.println(i);//直接获取的元素
        }
        System.out.println("==========================");
        //方式三 Iterator
        Iterator<Integer> it=l.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
        System.out.println("==========================");
        //方式四 ListIterator
        ListIterator<Integer> ti=l.listIterator();
        while (ti.hasNext()){
            System.out.println(ti.next());
        }





    }
}
